iT邦幫忙

2021 iThome 鐵人賽

DAY 4
2
AI & Data

機器學習應用於語音相關服務系列 第 4

Day04 - 端到端(end-to-end)語音辨識-attention 機制

  • 分享至 

  • xImage
  •  

如果近幾年來有在關注深度學習技術發展的話,一定有聽過 attention model 以及 Attention Is All You Need 這篇非常有名的論文,論文的細節這邊就不多談了,網路都可以找的到相當豐富的說明、實作。這邊主要要探討的是如何使用 attention 解決之前提到的輸入序列過長會導辨識效果不佳的問題。

Attention 的核心概念可以以下這句話來描述:

Attention: At different steps, let a model "focus" on different parts of the input.

Attention 機制的加入,會讓 decoder 在解碼的過程中找出輸入序列中哪些部分較為重要,因此 encoder 不需要再將輸入序列壓縮成一固定大小的 context vector。

而 decoder 中的每一個 hidden state 都會有不同的 context vector,也就是說如果輸入序列有 N 個音框(frame),就會產生 N 個 context vector。接下來我們用數學式子來表示 attention 的運作過程:


  • all encoder hidden states: https://chart.googleapis.com/chart?cht=tx&chl=s_%7B1%7D%2Cs_%7B2%7D%2C...%2Cs_%7Bm%7D

  • decoder hidden state at timestamp t : https://chart.googleapis.com/chart?cht=tx&chl=h_%7Bt%7D

  • Attention weights: 將目前時間點 (timestamp) decoder 的 hidden state https://chart.googleapis.com/chart?cht=tx&chl=h_%7Bt%7D 對所有 encoder 的 hidden state 進行 score function,再透過 softmax function 計算出 https://chart.googleapis.com/chart?cht=tx&chl=h_%7Bt%7D 對每一個時間點 https://chart.googleapis.com/chart?cht=tx&chl=s_%7Bi%7D 的重要程度
    https://chart.googleapis.com/chart?cht=tx&chl=%5Calpha_%7Bk%7D(t)%3D%5Cfrac%7Bexp(score(h_%7Bt%7D%2Cs_%7Bk%7D))%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bm%7Dexp(score(h_%7Bt%7D%2Cs_%7Bi%7D))%7D%2C%20%5C%20k%3D1..%20m

    其中score function 的運算方式有好幾種,包括 dot-product, bilinear, multi-layer perceptron 等

  • Context vector: 將 attention weights 與 encoder hidden state https://chart.googleapis.com/chart?cht=tx&chl=h_%7Bs%7D 進行 weighted sum

    https://chart.googleapis.com/chart?cht=tx&chl=c_%7Bt%7D%3D%5Csum_%7Bk%3D1%7D%5E%7Bm%7D%5Calpha_%7Bk%7D(t)s_%7Bk%7D


完整流程架構可以參考下圖:
https://ithelp.ithome.com.tw/upload/images/20210916/20140944JnwvCLopo9.png
Seq2seq attention 架構圖,圖片來源: https://lena-voita.github.io/nlp_course/seq2seq_and_attention.html

今天的內容就到這邊,接下來會介紹之前有提到過的end-to-end model 中另一個方常見的方法 -- Connectionist Temporal Classification (CTC)。

參考資料: https://lena-voita.github.io/nlp_course/seq2seq_and_attention.html


上一篇
Day03 - 端到端(end-to-end)語音辨識
下一篇
Day05 - 端到端(end-to-end)語音辨識-CTC part 1
系列文
機器學習應用於語音相關服務30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言